Cycling Power Service (CPS)
Cycling Power Service


1.
1.1
1.2
1.3 Bluetooth
1.4 GATT
1.5
1.6
1.7
2
3
3.1
3.1.1
3.2
3.2.1
3.2.1.1
3.2.1.2
3.2.1.3
3.2.1.4
3.2.1.5  
3.2.1.6  
3.2.1.7   
3.2.1.8   
3.2.1.9   
3.2.1.10
3.2.1.11
3.2.1.12
3.2.1.13   
3.3
3.3.1
3.4  
3.4.1  
3.4.2  
3.4.2.1
3.4.2.2
3.4.2.3
3.4.2.4
3.4.2.5
3.4.2.6
3.4.2.7
3.4.2.8
3.4.2.9
3.4.2.10
3.4.2.11
3.4.2.12
3.4.2.13
3.4.2.14
3.4.2.15
3.4.3
3.4.4
3.5   
3.5.1
3.5.1.1  
3.5.1.2     
3.5.1.3
3.5.1.4   
3.5.1.5   
3.6
3.7 使
4 SDP
5
6

1.
(CP) ()

1.1
() Bluetooth

1.2

1.3 Bluetooth
CSA2CSA3 CSA4 使 Bluetooth 4.0 1
4.0 Bluetooth

1.4 GATT
GATT 使
1.1 GATT GATT
GATT
Write Characteristic Value C.1
Notifications M
Indications C.1
Read Characteristic Descriptors M
Write Characteristic Descriptors M
C.1:

1.5
使 ( 3.2.1.13 )
LE 使BR/EDR

BR/EDR 使 AMP 使

1.6
Name Error Code Description
0x80 Cycling Power Vector

1.7
使 ( )
Bluetooth SIG Assigned Numbers

2
Cycling Power Service «Primary Service»
UUID Bluetooth SIG Assigned Numbers «Cycling Power Service»

3
1 UUID Bluetooth SIG Assigned Numbers

Client Characteristic Configuration


Characteristic Name Requirement Mandatory Properties Optional Properties Security Permissions
Cycling Power Feature M Read None
Cycling Power Measurement M Notify LE: Broadcast | BR/EDR: None None
Sensor Location M Read None
Cycling Power Control O Write, Indicate None
Cycling Power Vector O Notify None
Note:
None

3.1 Cycling Power Feature
Cycling Power Feature 使 Cycling Power Feature 使 (RFU) 0

3.1.1
Cycling Power Feature 使

Cycling Power Feature 寿 ( Service Changed ) ( 0 21)

1 () 0 () Bluetooth SIG Assigned Numbers

使 () 01 (使)

使 () 10 (使)

3.2 Cycling Power Measurement
/使 Flags ( )Instantaneous Power Flags Bluetooth SIG Assigned Numbers 1

3.2.1
( 1 1 )

LE ( 3.2.1.13 ) (: ) (: )

LE

3.4.2.13 3.2.1.13

3.7 ( 1 )

LE MTU 使 MTU 3.2.1.13

BR/EDR MTU

3.6

3.2.1.1
Flags Cycling Power Measurement
使 (RFU) 0
Flags Cycling Power Feature 3.2
*Flags Bit Name* *0* *1* CyclingPowerFeature(3.1)
Pedal Power Balance Present (bit 0) 3.2.1.3 bit 0
Pedal Power Balance Reference (bit 1) 3.2.1.3 bit 0 *1
Accumulated Torque Present (bit 2) 3.2.1.4 bit 1
Accumulated Torque Source (bit 3) 3.2.1.4 Wheel Based Crank Based bit 1 *1
Wheel Revolution Data Present (bit 4) 3.2.1.5 bit 2
Crank Revolution Data Present (bit 5) 3.2.1.6 bit 3
Extreme Force Magnutudes Present (bit 6) 3.2.1.7 bit 4 bit 160
Extreme Torque Magnitudes Present (bit 7) 3.2.1.8 bit 4 bit161
Extreme Angles Present (bit 8) 3.2.1.9 bit 5
Top Dead Spot Angle Present (bit 9) 3.2.1.10 bit 6
Bottom Dead Spot Angle Present (bit 10) 3.2.1.11 bit 6
Accumulated Energy Present (bit 11) 3.2.1.12 bit 7
Offset Compensation Indictio (bit 12) 3.2.1.12 bit 8 *1
Note:
*1 Cycling Power Feature00
Cycling Power Feature 1 0 0

3.2.1.2

Instantaneous Power ( ) 3.7 ( 1 )

3.2.1.3
( 3.2 )

Pedal Power Balance () (LeftPower/(LeftPower+RightPower))100(LeftPower/(LeftPower + RightPower)) * 100

Flags Pedal Power Balance Reference ( 1)

3.2.1.4
Accumulated Torque Accumulated Torque Cycling Power Measurement ( 3.2 )

Accumulated Torque 0

Flags Accumulated Torque Source ( 3)


3.2.1.5  
(Cumulative Wheel Revolutions Last Wheel Event Time) ( 3.2 )


使1) 2 ) 3) 使 3.4.2.1 0 () (: )0

1/2048 Last Wheel Event Time

Cumulative Wheel Revolutions 3.4.2.1

Last Wheel Event Time 32

3.2.1.6  
Crank Revolution Data (Cumulative Crank Revolutions Last Crank Event Time ) Cycling Power Measurement ( 3.2 )

Cumulative Crank Revolutions Last Crank Event Time 使
1.
2.
3.

0 () 使

1/1024 Last Crank Event Time

Last Crank Event Time 64

() (: )

3.2.1.7   
Extreme Force Magnitude (Maximum Force Magnitude Minimum Force Magnitude ) Extreme Magnitudes Cycling Power Feature Sensor Measurement Context 0 (Force ( 3.2 )

1 Minimum Force Magnitude 1

1 ( )

3.2.1.8   
Extreme Torque Magnitudes (Maximum Torque Magnitude Minimum Torque Magnitude ) Extreme Magnitudes Cycling Power Feature Sensor Measurement Context 1 ( ( 3.2 )

Maximum Torque Magnitude 1 1

1 ( )

3.2.1.9   
() ( 3.2 )

1 1

3.2.1.10
( 3.2 )

Top Dead Spot Angle Instantaneous Power

3.2.1.11
( 3.2 )

Bottom Dead Spot Angle Instantaneous Power

3.2.1.12
( 3.2 )

Accumulated Energy 0

3.2.1.13   
LE 使 BR/EDR

() 31 3.3 AD
*AD Type* *AD Data*
Advertising Interval advInterval value
Service Data Cycling Power Service UUID Cycling Power Measurement

()

() ( ) ( )

3.3
使

3.4.2.2

()

3.7 ( 1 )

3.3.1
Sensor Location

3.4  
Cycling Power Control Point (Client Characteristic Configuration ) Cycling Power Control Point

Wheel Revolution Data Multiple Sensor Locations 3.1

3.7 ( 1 )

3.4.1  
3.4 Cycling Power Control Point

使 3.4

*Procedure* ** ** *Applicable Response Value* **
Set Cumulative Value C.1 None
Update Sensor Location C.2 None
Request Supported Sensor Locations C.2 None - 3.4.2.3
None
Set Crank Length C.3 None
Request Crank Length C.4 None
None
Set Chain Length C.5 None
Request Chain Length C.6 None
None
Set Chain Weight C.7 None
Request Chain Weight C.8 None
None
Set Span Length C.9 None
Request Span Length C.10 None
None
C.11 None
Start Offset Compensation None
Mask Cycling Power C.12 None
Request Sampling Rate C.13 None
None
Request Factory Calibration Date C.14 None
None
C.15 None 3.4.2.16
None

C.1: Wheel Revolutions Data
C.2:
C.3: 調
C.4: 調
C.5: 調
C.6: 調
C.7: 調
C.8: 調
C.9: 調
C.10: 調
C.11:
C.12: Cycling Power Measurement Characteristic Content Masking
C.13:
C.14: Factory Calibration Date
C.15:

3.4.2  
Cycling Power Control Point 使 ( 3.4 )

3.4.2.1
Set Cumulative Value Op Code Cycling Power Control Point Wheel Revolution Data UINT32 1 Op Op 使

3.4.3

使
Cycling Power Measurement Cumulative Crank Revolutions
Cycling Power Vector Cumulative Crank Revolutions

使 ()

3.4.2.2
Update Sensor Location Op Code Cycling Power Control Point Sensor Locations Sensor Location UINT8 Bluetooth SIG Assigned Numbers 0x0D Op Op 使


Op 3.4.3

使

3.4.2.3
Request Supported Sensor Locations Op Code Cycling Power Control Point () ) Op Op 使 UINT8

LE ATT MTU 17

Op 3.4.3

3.4.2.4
Set Crank Length Op Code Cycling Power Control Point Crank Length Adjustment Cycling Power Control Point UINT16 1/2 使 Op Op 使


Op 3.4.3

使 ()

3.4.2.5
Request Crank Length Op Code Cycling Power Control Point 調 使 . UINT16 1/2

Op 3.4.3

3.4.2.6
Set Chain Length Op Code Cycling Power Control Point 調Cycling Power Control Point UINT16 1 使 使


Op 3.4.3

使 ()

3.4.2.7
Request Chain Length Op Code Cycling Power Control Point Chain Length Adjustment 使 . UINT16 1

Op 3.4.3

3.4.2.8
Set Chain Weight Op Code Cycling Power Control Point Chain Weight Adjustment Cycling Power Control Point UINT16 1 使 使


Op 3.4.3

使 ()

3.4.2.9
Request Chain Weight Op Code Cycling Power Control Point Chain Weight Adjustment 使 . UINT16 1

Op 3.4.3

3.4.2.10

Set Span Length Op Code Cycling Power Control Point 調Cycling Power Control Point UINT16 1 使 使


Op 3.4.3

使 ()

3.4.2.11
Request Span Length Op Code Cycling Power Control Point 調 使 . UINT16 1

Op 3.4.3

3.4.2.12
Start Offset Compensation Op Code Cycling Power Control Point Offset Compensation Offset Compensation 使 1/32 ( 3.1 )

SINT16 (3.1 ) 1/32 使 0xFFFF 使

Op 3.4.3

3.4.2.13
Mask Cycling Power Measurement Characteristic Content Op Code Cycling Power Control Point Cycling Power Measurement Characteristic Content Masking Cycling Power Measurement Characteristic Content Masking Cycling Power Measurement Characteristic Cycling Power Control Point UINT16 3.5

*Bit Number* *Description*
0 Pedal Power Balance 0: Leave as default / 1: Turn off
1 Accumulated Torque 0: Leave as default / 1: Turn off
2 Wheel Revolution Data 0: Leave as default / 1: Turn off
3 Crank Revolution Data 0: Leave as default / 1: Turn off
4 Extreme Magnitudes 0: Leave as default / 1: Turn off
5 Extreme Angles 0: Leave as default / 1: Turn off
6 Top Dead Spot Angle 0: Leave as default / 1: Turn off
7 Bottom Dead Spot Angle 0: Leave as default / 1: Turn off
8 Accumulated Energy 0: Leave as default / 1: Turn off
9-15

使 Op Op 使

使 ( )

Op 3.4.3

3.4.2.14
Request Sampling Rate Op Code Cycling Power Control Point Cycling Power Vector 使 UINT8 1

Op 3.4.3

3.4.2.15
Op Op 使 Bluetooth SIG Assigned Numbers使 0 使

3.4.3

3.4.2.16
Start Enhanced Offset Compensation Op Code Cycling Power Control Point 使 ( UINT16) ( 3.1 ) 1/32 SIG ID UINT16 () UINT8 0

()使 3.6

*Response Parameter* *Meaning*
0x00
0x01
0x02-0xFE
0xFF

0xFF Bluetooth SIG ID (UINT16) (UINT8) 0

Op 3.4.3

3.4.3
Op Code

Op Op Op 使

( Update Sensor Location Op ) Op Op 使

() Op CSS B 1.2 3

Op Code Cycling Power Control Point Cycling Power Control Point Client Characteristic Configuration Attribute Protocol Client Characteristic Configuration Descriptor CSS B 1.2 Bluetooth 2

3.4.4
Cycling Power Control Point Cycling Power Control Point () Op Code Response Code Cycling Power Control Point

Cycling Power Control Point Cycling Power Control Point CSS B 1.2 Bluetooth 2

3.5   
() 使 Flags ( ) Flags Crank Revolution Data (Cumulative Crank Revolutions Last Crank Event Time ) Cycling Power Vector Instantaneous Magnitude Array

() 1 Instantaneous Magnitude Array Instantaneous Magnitude Instantaneous Magnitude 90 25 1 16 17

3.5.1
()

100 300 1

Cycling Power Vector 使 3.4.2.14 使

0x0001 (1 3 C 9.3.9 GAP 使) () ( 1 7 ) ATT 0x80 ()

0x0000 (GAP 使) 1 3 C 9.3.9 )

3.7 ( 1 )

Cycling Power Vector 3.6

3.5.1.1  
Flags Cycling Power Vector

使 (RFU) 0

Flags Cycling Power Feature 3.7

*Flags Bit Name* ** *0* ** *CyclingPowerFeature(3.1)*
Crank Revolution Data Present (bit 0) 3.5.1.2 bit 3
First Crank Measurement Angle Present (bit 1) 3.5.1.3 bit 5
Instantaneous Force Magnitude Array Present (bit 2) 3.5.1.4 bit 16
Instantaneous Torque Magnitude Array Present (bit 3) 3.5.1.5 bit 16
Instantaneous Measurement Direction (bits 4) 3.5.1.4 *1 bit 17
Instantaneous Measurement Direction (bits 5) 3.5.1.5 *1 bit 17


Cycling Power Feature 1 0 0 Cycling Power Feature 3.3

3.5.1.2     
Crank Revolution Data (Cumulative Crank Revolutions Last Crank Event Time ) Last Crank Event Time 使

1.
2.
3.

0 () 使

1/1024 Last Crank Event Time

Last Crank Event Time 64

() .

3.5.1.3
Extreme Angles ( 3.7 )

使 () 1

3.5.1.4   
Cycling Power Feature Sensor Measurement Context 0 () ( 3.7 )

Instantaneous Force Magnitude Array Cycling Power Vector 1 1 3.4.2.14 Request Sampling Rate 使

()


LE 23 ATT_MTU
6
Crank Revolution DataFirst Crank Measurement Angle8
Crank Revolution DataFirst Crank Measurement Angle7
9

1 3.5.1.3

1 ( )

3.5.1.5   
Cycling Power Feature Sensor Measurement Context 1 () ( 3.7 )

1/32 1 3.4.2.14 Request Sampling Rate 使

()


LE 23 ATT_MTU
6
Crank Revolution DataFirst Crank Measurement Angle8
Crank Revolution DataFirst Crank Measurement Angle7
9

1 3.5.1.3

1 ( )

3.6
Cycling Power Measurement Cycling Power Vector

() ()

3.7 使
() Sensor Location Sensor 使

4 SDP
BR/EDR SDP

*Item* *Definition* *Type* *Value* *Status*
Service Class ID List M
Service Class #0 UUID «Cycling Power» M
Protocol Descriptor List M
Protocol #0 UUID L2CAP M
Parameter #0 for Protocol #0 PSM Uint16 PSM = ATT M
Protocol #1 UUID ATT M
Parameter #0 for Protocol #1 GATT Start Handle Uint16 GATT M
Parameter #1 for Protocol #1 GATT End Handle Uint16 GATT M
BrowseGroupList PublicBrowseRoot* M

* PublicBrowseRoot UUID

5
*Abbreviation or Acronym* *Meaning*
AMP Alternate MAC/PHY
BR/EDR Basic Rate / Enhanced Data Rate
GAP Generic Access Profile
GATT Generic Attribute Profile
LE Low Energy
RFU Reserved for Future Use
SDP Service Discovery Protocol
UUID Universally Unique Identifier

6
Bluetooth Core Specification v4.0 with CSA2, CSA3 and CSA4 or later version of the Core
Specification.
Characteristic and Descriptor descriptions are accessible via the Bluetooth SIG Assigned
Numbers.
Supplement to the Bluetooth Core Specification, Version 2 or later